package com.shrct.businessprocess.product;

import com.shrct.businessprocess.organization.RCEnterprise;
import com.shrct.businessprocess.organization.RCSupplier;
import com.shrct.businessprocess.product.RCBrand;
import com.shrct.businessprocess.product.RCIdentifiablePhysicalProductEntry;
import com.shrct.businessprocess.product.RCServiceLevel;
import com.shrct.businessprocess.product.impl.RCProductServiceCriteriaImpl;
import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;
import java.util.Date;

@QueryImplementation(implementBy = RCProductServiceCriteriaImpl.class)
public interface RCProductServiceCriteria extends IPagedCriteria<RCIdentifiablePhysicalProductEntry> {
  public abstract String getInfo();
  
  public abstract RCProductServiceCriteria setInfo(final String info);
  
  public abstract RCEnterprise getEnterprise();
  
  public abstract RCProductServiceCriteria setEnterprise(final RCEnterprise enterprise);
  
  public abstract Boolean getIsReplaced();
  
  public abstract RCProductServiceCriteria setIsReplaced(final Boolean isReplaced);
  
  public abstract Boolean getIsBorrowReplaced();
  
  public abstract RCProductServiceCriteria setIsBorrowReplaced(final Boolean isBorrowReplaced);
  
  public abstract Date getProductServiceDueDateFrom();
  
  public abstract RCProductServiceCriteria setProductServiceDueDateFrom(final Date productServiceDueDateFrom);
  
  public abstract Date getProductServiceDueDateTo();
  
  public abstract RCProductServiceCriteria setProductServiceDueDateTo(final Date productServiceDueDateTo);
  
  public abstract Date getCompanyServiceDueDateFrom();
  
  public abstract RCProductServiceCriteria setCompanyServiceDueDateFrom(final Date companyServiceDueDateFrom);
  
  public abstract Date getCompanyServiceDueDateTo();
  
  public abstract RCProductServiceCriteria setCompanyServiceDueDateTo(final Date companyServiceDueDateTo);
  
  public abstract String getProjectId();
  
  public abstract RCProductServiceCriteria setProjectId(final String projectId);
  
  public abstract RCBrand getBrand();
  
  public abstract RCProductServiceCriteria setBrand(final RCBrand brand);
  
  public abstract RCSupplier getSupplier();
  
  public abstract RCProductServiceCriteria setSupplier(final RCSupplier supplier);
  
  public abstract RCServiceLevel getCompanyServiceLevel();
  
  public abstract RCProductServiceCriteria setCompanyServiceLevel(final RCServiceLevel companyServiceLevel);
  
  public abstract String getSid();
  
  public abstract RCProductServiceCriteria setSid(final String sid);
  
  public abstract String getCode();
  
  public abstract RCProductServiceCriteria setCode(final String code);
  
  public abstract void postInitialize();
}
